package net.ericaro.neojavagen.types ;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

import net.ericaro.neojavagen.types.ClassType;
import net.ericaro.neojavagen.types.ReferenceType;
import net.ericaro.neojavagen.types.InterfaceType;
import net.ericaro.neojavagen.types.TypedIdentifier ;

import net.ericaro.neojavagen.StringUtils;
		
/**
* <pre> ClassOrInterfaceType :  TypedIdentifier . TypedIdentifier . ...  
*/
public class ClassOrInterfaceType extends ArrayList<TypedIdentifier> implements InterfaceType,ClassType,ReferenceType {
	
	public ClassOrInterfaceType(){
		super();
	}
	
	public ClassOrInterfaceType(TypedIdentifier ... components){
		this(Arrays.asList(components) );
	}
	public ClassOrInterfaceType(Collection<TypedIdentifier> values ){
		super(values);
	}
	
	
	public String toString(){
		return StringUtils.toString(this, ".", "", "");
	}

}
